<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // Set 和 Map

        // Set数据结构对象(集合，容器)
            // size：返回成员总数
            // add(value)：添加某个值，返回Set结构本身
            // delete(value)：删除某个值，返回一个布尔值，表示删除是否成功
            // has(value)：返回一个布尔值，表示该值是否为Set的成员
            // clear()：清除所有成员，没有返回值

        const s = new Set([1,2,3,2,3,4]);
        console.log(s);

        s.add(10);
        s.add(20);
        s.add(10);
        s.delete(1);

        console.log(s.has(10)); //true

        // 遍历Set对象，输出每个元素值
        s.forEach(v => {
            console.log(v);
        });

        // 清空操作
        s.clear();
        console.log(s);


        // Map -- 键值对集合
        // Map 的一些操作方法：
        //     set(key, value)：设置键值对
        //     get(key)：获取键对应的值
        //     has(key)：是否存在某个键
        //     delete(key)：删除某个键值对，返回一个布尔值，表示删除是否成功

        const mp = new Map([['a',"AAA"],['b',"BBB"],['c',"CCC"]]);
        console.log(mp);

        mp.set("d","DDD"); // 添加
        mp.set("c","EEE"); // 更改
        mp.delete("b"); //删除

        // 遍历map对象
        mp.forEach( (ob,key) => {
            console.log(key, ob);
        });

        // 获取一个随机数 10~25 => (0~15) +10
        //console.log(Math.floor(Math.random()*1000000)%16 + 10);

    </script>
</body>
</html>